Technotes
On the Deferred Task Manager
This Note highlights two points - interrupt latency, and task record ownership - that might be unclear after reading the chapter "Deferred Task Manager" in Inside Macintosh:Processes.
This Note is intended for all developers who need to install a lengthy
interrupt task capable of running with all interrupts enabled.
About Deferred Task LatencyThere may be significant latency incurred between installing a deferred task withDTInstall and when that task is performed. This
time is not deterministic and cannot be controlled. Real-time response
cannot be guaranteed on Macintosh computers with or without the use of
deferred tasks.About the Ownership of the DeferredTask RecordWhen you install a deferred task withDTInstall , you are
giving your DeferredTask record to the system; the system
owns the record until the routine designated by the
DeferredTask record's dtAddr field is entered.
During the time the system owns a DeferredTask record, you
must not change any of the fields of that record.
Similarly, you must not depend on the contents of the record when it is
owned by the system. The system is free to alter the record in any
fashion while it has ownership and restores the record to its original
state prior to invoking the deferred task. You must not install a
Further Reference
Change HistoryThis Technote was originally written in July, 1992. Most of the original information has been incorporated into Inside Macintosh: Processes.
The references section has been updated. Information found in the
chapter "Deferred Task Manager" in Inside
Macintosh:Processes, has been deleted.
Technotes Previous Technote | Contents | Next Technote |